/*
* ============================================================================
*  Name        : example_008.cpp
*  Part of     : Finite state machine examples
*  Description : Message exchange between two state machines
*  Version     : %version: %
*  
*
* ============================================================================
*/
#include "example_008.h"

/**
 * @file example_008.cpp
 *
 * @details
 * Use of a state machine source file in runtime
 *
 * @ingroup StateMachineExamples
 */
using namespace sea_examples;

// ----------------------------------------------------------------------------

void sea_examples::launch_example_008( )
{
    SEA_TRACE_ENTRY( );

    {
        sea::ref< MyCompiler > compiler;
        compiler << NEW MyCompiler;

#if defined( SEA_OS_LINUX )
        compiler->create( 0, "../examples/example_008.sea", StateMachine::eFile );
#else
        compiler->create( 0, "examples\\example_008.sea", StateMachine::eFile );
#endif
        compiler->print( );
    }
    Engine::terminate( );
}

// ----------------------------------------------------------------------------

ACT_IMPL( MyCompiler, init ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, ParseBinarySm ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, readString ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, getLiteral ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, createStateMachine ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, storeExecMode ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, createState ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, storeHeartBeatInterval ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, storeHeartBeats ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, createEventRecord ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, storeEvent ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, storeAction ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, storeNextState ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, endOfState ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, complete ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, error ) { SEA_UNUSED_PARAM( ); }
ACT_IMPL( MyCompiler, resolveNextStates )  { SEA_UNUSED_PARAM( ); }

// ----------------------------------------------------------------------------

